<?php
function form_input($attributes = array())
{
    $attr = '';
    if(!empty($attributes))
    {
        foreach($attributes as $k => $v)
        {
            $attr .= " {$k}='{$v}' ";
        }
    }
	return "<input" . $attr . "/>";
}
function form_open($attributes = array('method' => 'post'))
{
    $attr = '';
    if(!empty($attributes))
    {
        foreach($attributes as $k => $v)
        {
            $attr .= " {$k}='{$v}' ";
        }
    }
	return "<form" . $attr . ">";
}

function form_close()
{
    return '</form>';
}

function form_validate($fields = array(), &$data = array())
{
    $errors = array();
    if(count($fields) > 0)
    {
        //Kiểm tra phần tử nào chưa nhập thì mặc định là empty
        foreach($fields as $k => $r)
        {
            if(!isset($data[$k]) || empty($data[$k]))
            {
                $data[$k] = '';
            }
            $data[$k] = trim($data[$k]);
            //Kiểm tra các rule
            foreach($r as $rk)
            {
                switch ($rk)
                {
                    case 'required':
                        if($data[$k] == '') $errors[] = $k . ' empty';
                        break;
                    case 'email':
                        break;
                    case 'int':
                        break;
                }
                if(strpos($rk, 'max-length') !== FALSE)
                {
                    $len = (int)substr($rk, strlen('max-length-'));
                    if(strlen($data[$k]) > $len) $errors[] = $k . ' có độ dài vượt quá quy định';
                }
                if(strpos($rk, 'min-length') !== FALSE)
                {
                    $len = (int)substr($rk, strlen('min-length-'));
                    if(strlen($data[$k]) < $len) $errors[] = $k . ' có vẻ quá ngắn';
                }                
            }
        }
        return $errors;
    }
    else return FALSE;
}

function get_var($name = '', $type = 'GET')
{
    if(strtoupper($type) == 'GET' and isset($_GET[$name])) return $_GET[$name];
    if(strtoupper($type) == 'POST' and isset($_POST[$name])) return $_POST[$name];
    return '';
}